<!--
 * @Descripttion: 
 * @version: 
 * @Author: wtzhang
 * @Date: 2021-08-03 15:18:00
 * @LastEditors: wtzhang
 * @LastEditTime: 2021-08-03 15:57:06
-->
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>类中this指向问题深度思考</title>
</head>
<body>
  <script type="text/javascript">
  // 1.首先创建一个类
  class Person {
    constructor(name, age){
      this.name = name
      this.age = age
    }
    // 2. 在类中创建一个方法
    study(){
      // 思考？
      // study方法放在了哪里？ --- 类的原型对象上，供实例使用。
      // 通过Person实例调用study时，study中的this就是 Person实例
      console.log(this);
    }
  }
  const p = new Person('jack', 18)
  p.study() // 这是通过实例调用了study()这个方法 this 自然指向 Person

  // 测试2
  let x = p.study
  x() // undefined
  // console.log(x);

  // function demo() {
  //   'use strict'
  //   console.log(this);
  // }
  // demo()
  </script>
</body>
</html>